我需要一個快速的正則表達式在PHP的preg_replace(),將刪除該字符串的情況下使用...PHP的preg_replace,需要一個正則表達式替換「endofentry」 +數字+「/>」
「endofentry 「+後面加上任意三位數字+」/>「結尾。
任何幫助將是太棒了,非常感謝!
我需要一個快速的正則表達式在PHP的preg_replace(),將刪除該字符串的情況下使用...PHP的preg_replace,需要一個正則表達式替換「endofentry」 +數字+「/>」
「endofentry 「+後面加上任意三位數字+」/>「結尾。
任何幫助將是太棒了,非常感謝!
如果你需要提取的三位數字,那麼這將工作:
/(?<=endofentry)[0-9]{3}(?=\/>)/
如:
<?php
CONST REGEX = "/(?<=endofentry)[0-9]{3}(?=\/>)/";
$stringSubject = "endofentry456/>";
preg_match(REGEX, $stringSubject, $match);
echo $match[0]; //echo's 456
?>
如果需要更換整個字符串:
更新
<?php
CONST REGEX = "/\"endofentry\"[0-9]{3}\/>/";
$stringSubject = "\"endofentry\"567/>";
$stringReplace = "replace_me!";
echo preg_replace(REGEX, $stringReplace, $stringSubject); //echo's replace_me!
?>
endofentry實際上有雙引號..即「endofentry481」/>更多內容......如果您可以更新第二個代碼段來支持這些雙引號,那真是太棒了,謝謝! – GarethPoole 2011-05-04 18:42:01
很酷,想通了 - ''preg_replace(「/ \」endofentry [0-9] {3} \「\ /> /」,'',$ content);',感謝您的幫助! – GarethPoole 2011-05-04 18:43:20
請參閱修改 – 2011-05-04 18:50:23
嗯,沒有太多的運氣。實際上有兩個雙引號......即 '「endofentry481」/>更多內容......' 如果你可以更新你的代碼來支持這些雙引號,那真是太棒了! – GarethPoole 2011-05-04 18:38:34
@Gareth添加這些引號的問題是什麼? '%'endofentry \\ d {3}「/>%''是的,就這麼簡單。 @DShook在正則表達式中需要該字符時,最好使用其他分隔符。這樣你不需要逃避它。 – Slava 2011-05-04 18:45:46
你需要提取三位數? – 2011-05-04 18:29:31