删除字符串中以两个斜杠开头的单词


Remove words starting with two slashes in a string

如何从字符串中删除以两个斜杠开头的单词?

$string = 'Hello bla bla //NAME';

在我的回显调用中,我想删除//NAME,但值"NAME"可能会更改,因此它应该只在两个斜杠上进行验证。

使用 preg_replace()

//Regular expression
$re = "/('/'/[^'s]*'s)/"; 
//String (sample)
$str = "Lorem ipsum dolor sit amet, //consectetur adipiscing elit. Vivamus augue nunc, maximus eget ligula ac, tristique pulvinar turpis. Donec sit amet rhoncus risus, ac facilisis tortor. Vivamus id ante imperdiet, mattis enim non, luctus nulla. Cras tempor mi eget malesuada condimentum. Ut non est //pharetra, pulvinar dui nec, ultricies quam. Duis finibus diam eros, in tempor velit dignissim et. Ut eget varius ex, id posuere risus. Nam fermentum, diam nec ornare pretium, nulla nunc fermentum eros, eu efficitur ipsum orci eget velit. Integer et sem orci. Nunc hendrerit orci et pulvinar lobortis. Nam cursus malesuada malesuada. In vitae turpis nunc. //Ut eleifend erat magna, ut //condimentum elit ullamcorper quis."; 
//Preg_replace in the string with the regex, replacing with ""
$str_replaced = preg_replace($re, "", $str);
//Output
echo $str_replaced;

输入:

Lorem ipsum dolor sit amet,//consectetur adipiscing elit.Vivamus augue nunc, maximus eget ligula ac, tristique pulvinar turpis.Donec sit amet rhoncus risus, ac facilisis tortor.Vivamus id ante imperdiet, mattis enim non, luctus nulla.Cras tempor mi eget malesuada condimentum.Ut non est//pharetra, pulvinar dui nec, ultricies quam.Duis finibus diam eros, in tempor velit dignissim et.Ut eget varius ex, id posuere risus.Nam fermentum, diam nec ornare pretium, nulla nunc fermentum eros, eu efficitur ipsum orci eget velit.Integer et sem orci.Nunc hendrerit orci et pulvinar lobortis.Nam cursus malesuada malesuada.在 vitae turpis nunc.Ut eleifend erat magna, ut//condimentum elit ullamcorper quis.

输出:

Lorem ipsum dolor sit amet, adipiscing elit.Vivamus augue nunc, maximus eget ligula ac, tristique pulvinar turpis.Donec sit amet rhoncus risus, ac facilisis tortor.Vivamus id ante imperdiet, mattis enim non, luctus nulla.Cras tempor mi eget malesuada condimentum.Ut non est pulvinar dui nec, ultricies quam.Duis finibus diam eros, in tempor velit dignissim et.Ut eget varius ex, id posuere risus.Nam fermentum, diam nec ornare pretium, nulla nunc fermentum eros, eu efficitur ipsum orci eget velit.Integer et sem orci.Nunc hendrerit orci et pulvinar lobortis.Nam cursus malesuada malesuada.在 vitae turpis nunc.Eleifend erat magna, ut elit ullamcorper quis.


解释正则表达式:

/('/'/[^'s]*'s)/
  1. /正则表达式的开始
  2. (捕获组的开始
  3. '/字面上匹配"/"
  4. '/字面上匹配"/"
  5. [^'s]*除"''s"(空格)以外的任何字符,介于零次和无限次之间
  6. 's任何空格字符
  7. 捕获组的)结束
  8. /正则表达式的结尾