我在textarea上输入了以下文字,我想从这个文本解析3个网址,如果它有[]获取内容的格式如下:url [“key”,“value”]我是一直试图通过正则表达式解决它,但我没有使用它:/(\ w。+?)[((?)“(。?)”),(“(。?)”) ] /
uploads / documents / home4.jpg [“nosotros”,“Somosunaasociacióncivilsin fines de lucro,formada por padres y madres con hijos con problemasdeaudición,que nos hemos organizadoraízdelos problemas queenfrentamosdíaa día,por la falta de apoyo paralacontactióndenuestros hijos。“],uploads / documents / home4.jpg [”servicios“,”Somosunaasociacióncivilsin fines de lucro,formada por padres y madres con hijos con problemasdeaudición ,que nos hemos organizadoaraízdelos problemas queenfrentamosdíaadía,por la falta de apoyo paralacontactióndenuestros hijos。“],
http://lorempixel.com/300/300 [“tecnologias”,“Somosunaasociacióncivilsin fines de lucro,formada por padres y madres con hijos con problemasdeaudición,que nos hemos organizadoraízdelos problemas queenfrentamosdíaadía, la la falta de apoyo paralacontactióndenuestros hijos。“]
我不使用正则表达式,如果非常感激,我会有点帮助:)
答案 0 :(得分:1)
你可以试试这个:
(\w.*?)\[([^\]]*)\]
示例代码:
<?php
$re = '/(\w.*?)\[([^\]]*)\]/';
$str = 'uploads/documents/home4.jpg[ " nosotros "," Somos una asociación civil sin fines de lucro, formada por padres y madres con hijos con problemas de audición, que nos hemos organizado a raíz de los problemas que enfrentamos día a día, por la falta de apoyo para la inclusión de nuestros hijos."] , uploads/documents/home4.jpg [" servicios ","Somos una asociación civil sin fines de lucro, formada por padres y madres con hijos con problemas de audición, que nos hemos organizado a raíz de los problemas que enfrentamos día a día, por la falta de apoyo para la inclusión de nuestros hijos."] ,
http://lorempixel.com/300/300 [" tecnologias ","Somos una asociación civil sin fines de lucro, formada por padres y madres con hijos con problemas de audición, que nos hemos organizado a raíz de los problemas que enfrentamos día a día, por la falta de apoyo para la inclusión de nuestros hijos."]
';
$list=[[]];
preg_match_all($re, $str, $matches);
$cnt=0;
$index=0;
for($i=1;$i<count($matches);$i++)
{
for($j=0;$j<3;$j++)
$list[$cnt++][$index]=$matches[$i][$j];
$cnt=0;
$index=1;
}
print_r($list);
?>