编程语言
首页 > 编程语言> > php-preg_match字符串中的所有段落

php-preg_match字符串中的所有段落

作者:互联网

以下字符串包含多个< p&gt ;;标签.我想匹配每个< p>的内容.带有模式,如果匹配,我想向该特定段落添加一个CSS类.

例如,在以下字符串中,仅第二段内容匹配,因此我只想向该段添加一个类.

$string = '<p>para 1</p><p>نص عربي أو فارسي</p><p>para3</p>';

使用以下代码,我可以匹配所有字符串,但是无法弄清楚如何找到特定的段落.

$rtl_chars_pattern = '/[\x{0590}-\x{05ff}\x{0600}-\x{06ff}]/u';
$return = preg_match($rtl_chars_pattern, $string);

解决方法:

>在< p>上创建捕获组.标签
>使用preg_replace

https://regex101.com/r/nE5pT1/1

$str = "<p>para 1</p><p>نص عربي أو فارسي</p><p>para3</p>"; 
$result = preg_replace("/(<p>)[\\x{0590}-\\x{05ff}\\x{0600}-\\x{06ff}]/u", "<p class=\"foo\">", $str, 1);

标签:php,regex,preg-match
来源: https://codeday.me/bug/20191013/1905704.html