所以我在查询结果时遇到了一些问题。
<?php
$query = "SELECT re_diag_DL
FROM game_win_regex
WHERE game_id = 1
LIMIT 1";
$con = mysqli_connect("localhost",'root','','game');
$result = mysqli_query($con,$query);
$row = mysqli_fetch_all($result,MYSQLI_BOTH);
echo $row['re_diag_DL'][0];
?>
字段内容是正则表达式:
((?<!z,)[1]
但回声正在给出
((?
绝对是在搞乱数组结构,print_r()给出了
Array ( [0] => Array ( [0] => ((?
我打算在preg_match_all中使用此结果。任何有关此事的帮助将不胜感激。
答案 0 :(得分:0)
很可能回声是在网络浏览器中完成的,浏览器期望标签以<
开头。
检查页面的源代码,而不是呈现的页面。
顺便说一句,您可以安全地在$row['re_diag_DL'][0]
中使用preg_match_all
的结果,因为它只是一个显示问题。
答案 1 :(得分:0)
要在浏览器中查看,请使用htmlentities()。正如Mosty Mostacho所述,浏览器对待&lt;和&gt;作为HTML标记,不会将它们显示为文本。
答案 2 :(得分:0)
放置
header("Content-type: text/plain");
在php文件的开头。或者查看HTML文档的来源。或者包装在PRE标签中。您的regexp被浏览器视为html标记。