如何在括号内preg_replace一个特定的符号?

时间:2016-06-07 05:27:48

标签: php regex preg-replace

我收到了一堆像这样的字符串:

(50 μg/ml); (10, 20, 30, 40, 50, 60 μg/ml) (sub-diploid DNA fraction) (p<0.05)  

我现在要用PHP做的是替换&#34;&lt;&#34;在最后的括号中,它看起来像:

(p&#60;0.05)  

我实际上因谷歌搜索感到疲惫和沮丧所以请帮助我。只需要一个php preg replace函数,它在字符串的括号内找到小于和大于符号,并用它的ASCII代码替换它。

2 个答案:

答案 0 :(得分:0)

希望这是有效的。

$str="p&#60;0.05"; 
$s1=html_entity_decode(str_replace("<", "&#60;", $str));
echo $s1;

或者

$s1 = html_entity_decode($str);

答案 1 :(得分:0)

怎么样:

$str = '(50 > µg/ml); (10, 20, 30, 40, 50, 60 µg/ml) (sub-diploid DNA fraction) (p<0.05)';
$str = preg_replace('/(\([^<]+)<([^)]+\))/', '$1&#60;$2', $str);
$str = preg_replace('/(\([^>]+)>([^)]+\))/', '$1&#62;$2', $str);
echo $str;

<强>输出:

(50 &#62; µg/ml); (10, 20, 30, 40, 50, 60 µg/ml) (sub-diploid DNA fraction) (p&#60;0.05)