php中,如何将一个字符串的符合条件的某一部分赋值给一个变量。
已经将一个网页的html代码赋值给一个变量,网页的内容很简单,<body></body>之间有一些文字和一个超链接<ahref></a>。如何将这个<a></a>(包含<...
已经将一个网页的html代码赋值给一个变量,网页的内容很简单,<body></body>之间有一些文字和一个超链接<a href></a>。如何将这个<a></a>(包含<a></a>)之间的内容赋值给一个变量呢?一个字符串只含有一个超链接,用正则表达式还是字符串处理函数效率更高?我用preg_match,可是好像是赋值给一个数组了,<a></a>之间的内容被一个字母一个字母的赋值给数组。我想把<a></a>之间的整个字符串赋值给一个变量。
展开
1个回答
展开全部
$str = "dfdasfsdf<a>abc</a>dfgdsg";
哇哈哈
$pattern = "/.*(<a>.*<\/a>).*/";
preg_match($pattern,$str,$matches);
echo htmlspecialchars($matches[1]);
输出<a>abc</a> ,你是要这样的吧。
哇哈哈
$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]不就是字符串了么。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询