php编程:字符串中有双引号,也有单引号,怎样把字符串定义变量$str

<a href="javascript:window.external.AddFavorite('http://www.baidu.com','百度网')"><font color=#b106c0>收藏本站</font></a>

上面的字符串中有双引号,也有单引号,现在要把字符串定义为变量$str
我知道用转义符/可以处理,现在我想知道除这下面的方法外还有其它方法吗
$str='<a href=\"javascript:window\.external\.AddFavorite(\'http:\/\/www\.baidu\.com\',\'百度网\')\"><font color=#b106c0>收藏本站<\/font><\/a>';
因为如果字符串太长的话用转义符非常麻烦

PHP里面还有第三种定义字符串的方法叫定界符(文档式字符串变量):
格式为:
变量名=<<<定界符
字符串内容
定界符;

例子:
$str=<<<BEGIN
<a href="javascript:window.external.AddFavorite('http://www.baidu.com','百度网')"><font color=#b106c0>收藏本站</font></a>
BEGIN;

定界符的好处是可以容纳任意字符串而不需要转义。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-02-25
标准做法:
1、如果字符串不是很长,像上面的只有一个<a>标签,一行完全放得下,就使用双引号:
$str = "<a href=\"javascript:window.external.AddFavorite('http://www.baidu.com','百度网')\"><font color=#b106c0>收藏本站</font></a>";
2、如果要包含的HTML代码有多行,可以这样:
print <<<HTML
<html>
HTML内容
</html>
HTML;

注意:我上面用的是直接输出HTML,并未赋值给变量。也可以这样赋值:
$str = <<<HTML
abcdef
HTML;
第2个回答  2011-02-25
首先 单引号中的字符串是不做转义处理的,所以你的写法是不对滴。

其次你可以用 <<<EOF 定界符来做

方法还有很多 但是,我还是不明白你为什么非要定义成str呢
第3个回答  2011-02-25
——换行
\t——一个tab符号
……
其他的你可以去看看php手册
相似回答