首页 > 解决方案 > str_replace 和 preg_replace 不起作用

问题描述

我尝试替换-<但不工作。

$str = "JEAN-pierre, BRUNÔ";  
function replaceName($str){
    //$new_str1 = preg_replace('/-/', '<', $str);
    $new_str1 = str_replace("-", "<", $str);
    return $new_str1;
}

那个回报:JEAN不是JEAN<PIERRE, BRUNÔ

谢谢!

标签: php

解决方案


您发布的代码很好。您很可能遇到的问题是<将其视为 HTML 标记的开头,因此其余值被隐藏。

您需要先转义您的<角色,然后再将其显示在页面上。

您可以将htmlspecialchars()其用作输出的一部分:

echo htmlspecialchars( replaceName( 'NAME' ) );

https://www.php.net/manual/en/function.htmlspecialchars.php


推荐阅读