php中,如何将一个字符串的符合条件的某一部分赋值给一个变量。

已经将一个网页的html代码赋值给一个变量,网页的内容很简单,<body></body>之间有一些文字和一个超链接<ahref></a>。如何将这个<a></a>(包含<... 已经将一个网页的html代码赋值给一个变量,网页的内容很简单,<body></body>之间有一些文字和一个超链接<a href></a>。如何将这个<a></a>(包含<a></a>)之间的内容赋值给一个变量呢?一个字符串只含有一个超链接,用正则表达式还是字符串处理函数效率更高?我用preg_match,可是好像是赋值给一个数组了,<a></a>之间的内容被一个字母一个字母的赋值给数组。我想把<a></a>之间的整个字符串赋值给一个变量。 展开
 我来答
IT思维
2012-03-22 · TA获得超过280个赞
知道小有建树答主
回答量:261
采纳率:0%
帮助的人:143万
展开全部
$str = "dfdasfsdf<a>abc</a>dfgdsg";

哇哈哈
$pattern = "/.*(<a>.*<\/a>).*/";

preg_match($pattern,$str,$matches);

echo htmlspecialchars($matches[1]);

输出<a>abc</a> ,你是要这样的吧。
更多追问追答
追问
你好,我刚开始学习正则表达式。我想要的效果是让之间的内容直接输出到一个数组的一个元素中去,比如$matches[0][0]或$matches[1][0]。我运行了你的代码,好像还是把中间的字符逐个读取到数组中,这样$matches[1][0]中只有一个字符,$matches[1][1]中又一个字符,以此类推
此外,我不需要html转换。除了htmlspecialchars(),是否有php函数可以把数组的所有元素全部赋值给一个字符串变量,不转换的?
追答
$matches[1][0]是一个字符$matches[1]不就是字符串了么。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式