将内联CSS应用于PHP preg_replace或str_replace函数

将内联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[

我有一个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['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?