通常在编写PHP时我会输出一些像这样的HTML -
echo "".$link_text."";
显然这不会解析,因为我需要在元素的属性中转义双引号.是否有正则表达式会快速执行此操作而不是手动添加反斜杠?
另一件事 - 正则表达式不应该在标签之外转义双引号(例如我附加$link_text
变量的地方).
有任何想法吗?
你应该只使用单引号:
echo '' . $link_text . '';
我能提出的解决方案(并非没有逃脱):
单引号
echo '' . $link_text. '';
使用双引号
echo "$link_text";
的sprintf
echo sprintf('%s', $link_text);
使用HEREDOC
echo <<$link_text EOF;
像smarty一样使用模板引擎
退出PHP模式:
?>
顺便说一句,一定要使用
htmlspecialchars()
的$link_text
变量,或者你将有一个XSS安全漏洞.
3> Ish..:使用(这种语法不用担心引号等)
echo <<$link_text EOT;