沃梦达 / 编程问答 / php问题 / 正文

匹配字符串中的所有段落(_M)

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

本文介绍了匹配字符串中的所有段落(_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);

推荐答案

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

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

本文标题为:匹配字符串中的所有段落(_M)

基础教程推荐