匹配字符串中的所有段落(_M) [英] preg_match all paragraphs in a string

查看:18
本文介绍了匹配字符串中的所有段落(_M)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

以下字符串包含多个<p>标记。我希望将每个<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);

推荐答案

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);

这篇关于匹配字符串中的所有段落(_M)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆