将内联CSS应用于PHP preg_replace或str_replace函数
我有一个PHP函数调用以下内容:将内联CSS应用于PHP preg_replace或str_replace函数,php,html,css,Php,Html,Css,我有一个PHP函数调用以下内容: function availability_filter_func($availability) { $replacement = 'Out of Stock - Contact Us'; if(is_single(array(3186,3518))) $availability['availability'] = str_ireplace('Out of stock', $replacement, $availability[
function availability_filter_func($availability) {
$replacement = 'Out of Stock - Contact Us';
if(is_single(array(3186,3518)))
$availability['availability'] = str_ireplace('Out of stock', $replacement, $availability['availability']);
}
但是,正如您所看到的,我正在用自定义文本替换文本字符串
我需要将“联系我们”文本设置为
-我将如何执行此操作?将原始html输入替换字符串使html成为输出的一部分
Echo不工作并破坏PHP函数-与尝试转义PHP函数、在整个字符串上插入html并取消函数的scape相同
如果您有任何建议,我们将不胜感激,谢谢 您的代码似乎是一种复杂的方法
function availability_filter_func($availability) {
$default = "Out of Stock";
$string = "<a href='mailto:contact@example.com'>Contact Us</a>";
if($availablity !== "") {
$return = $availability;
} else {
$return = $default;
}
return "$return - $string";
}
function availability\u filter\u func($availability){
$default=“缺货”;
$string=“”;
如果($availability!==“”){
$return=$availability;
}否则{
$return=$default;
}
return“$return-$string”;
}
试试herdoc语法
$replacement = <<<LINK
<a href="mailto:contact@example.com">Contact Us</a>
LINK;
$replacement=如果在输出中看到HTML,问题在于如何输出它。必须对字符串调用htmlspecialchars()
或htmlspecialchars()
,该字符串对所有HTML标记进行编码。如果您希望能够将HTML放入字符串中,则不能这样做。更改stru-ireplace(“缺货”,htmlentities(此文本为红色)(
”)会导致PHP脚本崩溃。我也尝试过
stru-ireplace(“缺货”,htmlentities)(“此文本为红色”)
在两个示例中^您没有关闭stru ireplace
函数,您只是关闭htmlentities
。还有,为什么要运行htmlentites,不想输出HTML?