我想将<pre>
更改为<code>
,将</pre>
更改为</code>
。
我遇到了斜杠/和正则表达式的问题。
答案 0 :(得分:13)
你可以使用str_replace:
$str = str_replace(array('<pre>', '</pre>'), array('<code>', '</code>'), $str);
如果你觉得有必要使用正则表达式:
$str = preg_replace("~<(/)?pre>~", "<\\1code>", $str);
如果您想单独更换它们:
$str = preg_replace("~<pre>~", '<code>', $str);
$str = preg_replace("~</pre>~", '</code>', $str);
你只需要逃避斜线。
答案 1 :(得分:3)
您可能需要使用\ s转义/ s,或者为表达式使用不同的分隔符。
相反,如何使用str_replace呢? <pre>
和</pre>
很容易匹配,因为它们不太可能包含任何类名或其他属性。
$text=str_replace('<pre>','<code>',$text);
$text=str_replace('</pre>','</code>',$text);
答案 2 :(得分:1)
我找到了一个非常简单的解决方案来替换字符串中的多个单词:
<?php
$str="<pre>Hello world!</pre>";
$pattern=array();
$pattern[0]="/<pre>/";
$pattern[1]="/<\/pre>/";
$replacement=array();
$replacement[0]="<code>";
$replacement[1]="</code>";
echo preg_replace($pattern,$replacement,$str);?>
输出
<code>Hello world!</code>
使用此脚本,您可以根据需要替换字符串中的多个单词:
只需将单词(您要替换的单词)放在模式数组中,例如:
$pattern[0]="/replaceme/";
并将替换数组中的字符(将用于代替替换字符)放置,例如:
$replacement[0]="new_word";
快乐的编码!