Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php preg_替换所有出现的特定html标记_Php_Regex_Design Patterns_Preg Replace - Fatal编程技术网

php preg_替换所有出现的特定html标记

php preg_替换所有出现的特定html标记,php,regex,design-patterns,preg-replace,Php,Regex,Design Patterns,Preg Replace,我将替换所有内容 <pre class="language-php"><code>m1 </code></pre> lets go <pre class="language-php"><code>m2 </code></pre> SAMAN 走吧 m2 但是运行preg\u replace(“/*量词是贪婪的,用?附加它以将其转换为非贪婪的。例如,您的正则表达式应该是:/*量词是贪婪的,

我将替换所有
内容

<pre class="language-php"><code>m1
 </code></pre>
 lets go 
<pre class="language-php"><code>m2
</code></pre>
SAMAN
走吧
m2

但是运行
preg\u replace(“/
*
量词是贪婪的,用
附加它以将其转换为非贪婪的。例如,您的正则表达式应该是:
/
*
量词是贪婪的,用
附加它以将其转换为非贪婪的。即,您的正则表达式应该是:
/代码是:

SAMAN lets go SAMAN
走吧
m2
”; $new\u string=preg\u replace(“/(\r?\n?\r?\n?)/s”、“SAMAN”、$input\u行); echo$new_字符串; ?>
产出:

(                   # Begin capture group
    \r?\n?          # Optional newline characters on Windows and Linux
    <pre.*?\/pre>   # Match from opening pre tag to closing pre tag
    \r?\n?          # Optional newline characters on Windows and Linux
)                   # End capture group
/s                  # Force all dots in pattern to allow newline characters
正则表达式模式解释:

(#开始捕获组
\r?\n?#Windows和Linux上的可选换行符
#从开始前标记到结束前标记的匹配
\r?\n?#Windows和Linux上的可选换行符
)#终端捕获组
/s#强制模式中的所有点允许换行字符
我的答案与LeleDumbo的答案非常相似,可能会让提问者满意。我只是省略了不必要的
代码是:

SAMAN lets go SAMAN
走吧
m2
”; $new\u string=preg\u replace(“/(\r?\n?\r?\n?)/s”、“SAMAN”、$input\u行); echo$new_字符串; ?>
产出:

(                   # Begin capture group
    \r?\n?          # Optional newline characters on Windows and Linux
    <pre.*?\/pre>   # Match from opening pre tag to closing pre tag
    \r?\n?          # Optional newline characters on Windows and Linux
)                   # End capture group
/s                  # Force all dots in pattern to allow newline characters
正则表达式模式解释:

(#开始捕获组
\r?\n?#Windows和Linux上的可选换行符
#从开始前标记到结束前标记的匹配
\r?\n?#Windows和Linux上的可选换行符
)#终端捕获组
/s#强制模式中的所有点允许换行字符
我的答案与LeleDumbo的答案非常相似,可能会让提问者满意。我只是省略了不必要的