这次我想做的是获取 (
和 )
之间的数字,将它们过滤掉,以便我可以将它们放入锚定的 http href 链接中。
文本文件示例:
09:02:10 - Admin SO_Conner (1374991) teleported to player Footman_Skull_of_Reyne (1050854).
09:02:15 - Admin SO_Conner (1374991) teleported to player Levy_Eddin_of_Reyne (1166164).
09:02:22 - Admin SO_Conner (1374991) faded out player Levy_Eddin_of_Reyne (1166164).
09:02:27 - Admin SO_Conner (1374991) teleported to player Valyrian_Militia_Crazymortal (1575057).
链接看起来像这样:
09:02:27 - Admin SO_Conner (<a href="?get_engine&loopup=1374991">1374991</a>) teleported to player Valyrian_Militia_Crazymortal (<a href="?get_engine&loopup=1575057">1575057</a>)
我已经尝试过这样做:
<?php
if(strpos($line,'1374991') === false)
?>
但我似乎找不到让它发挥作用的方法。
最佳答案
使用preg_replace
:
$file = file(/* path to file */);
foreach($file as &$line) {
$line = preg_replace('/(\d\d:\d\d:\d\d - [a-zA-Z _]+\()(\d+)(\)[a-zA-Z _]+\()(\d+)(\).*)/', '$1<a href="?get_engine&loopup=$2">$2</a>$3<a href="?get_engine&loopup=$4">$4</a>$5', $line);
}
尽管正则表达式模式可能更简单,但这应该可行。如果您确定 txt 文件的每一行的结构始终相同,则可以使用以下模式:
$line = preg_replace('/\((\d+)\)/', '<a href="?get_engine&loopup=$1">$1</a>', $line);
关于javascript - 过滤txt文件中的行并将其设为http href链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31939730/