gpt4 book ai didi

php - 使用 preg_match 和正则表达式在 html 表中显示字符串的内容

转载 作者:搜寻专家 更新时间:2023-10-31 20:36:21 25 4
gpt4 key购买 nike

我有一个字符串,其中包含用竖线分隔的用户的 ASL

我的字符串:

  Jack:22:m:london,uk|john:20:m:otava, canada|ketty:26:f:san fransisco|patricia:19:f:guatemala city

我的正则表达式:

 /([A-Za-z]+):([0-9]+):([A-Za-z]):([^|]+/

我想在我的网页的 html 表格中显示这些 asls。

jack 22 m london,uk
john 20 m otava canada

我的代码:

    $users="Jack:22:m:london,uk|john:20:m:otava, canada|ketty:26:f:san fransisco|patricia:19:f:guatemala city";

echo preg_replace('/([A-Za-z]+):([0-9]+):([A-Za-z]):([^|]+)/','<table border="1"><tr><td>$1</td><td>$2</td><td>$3</td><td>$4</td></tr></table>',$users);

它按预期工作,但管道 |正在包含在输出中。

您可以在https://eval.in/480802 上看到我的代码的现场演示。

我的正则表达式有问题吗?

最佳答案

如果您的数据只包含 | 作为用户分隔符,: 作为用户详细信息分隔符,您可以像这样使用 2 个 explode :

$users="Jack:22:m:london,uk|john:20:m:otava, canada|ketty:26:f:san fransisco|patricia:19:f:guatemala city";
$usr_arr = explode('|', $users);
foreach ($usr_arr as $usr)
{
$parts = explode(':', $usr);
echo '<table border="1"><tr><td>'.$parts[0].'</td><td>'.$parts[1].'</td><td>'.$parts[2].'</td><td>'.$parts[3].'</td></tr></table>'.PHP_EOL;
}

参见 IDEONE demo

输出:

<table border="1"><tr><td>Jack</td><td>22</td><td>m</td><td>london,uk</td></tr></table>
<table border="1"><tr><td>john</td><td>20</td><td>m</td><td>otava, canada</td></tr></table>
<table border="1"><tr><td>ketty</td><td>26</td><td>f</td><td>san fransisco</td></tr></table>
<table border="1"><tr><td>patricia</td><td>19</td><td>f</td><td>guatemala city</td></tr></table>

关于php - 使用 preg_match 和正则表达式在 html 表中显示字符串的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34107647/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com