我想从此重新格式化文本文件:
• Name - 5 September 12:19
- Message
对此:
Name (5 September, 12:19)
Message
名称位于粗体文本中,可能是某些迹象表明在消息中前进(-- -- -- --
)。这些指示将替换为<hr>
。您可以看到整个文本文件here。
我想出了this:
$url = 'http://erik-edgren.nu/files/history/apg29/jesus-september-2014.txt';
$lines = file($url, FILE_IGNORE_NEW_LINES);
foreach($lines AS $line) {
$info = explode(' - ', $line);
if(strlen($info[0]) > '• ') {
echo '<b>'.str_replace('• ', '', $info[0]).'</b>';
}
echo !isset($info[1]) ? '' : ' ('.$info[1].')';
echo '<br>';
}
但我不知道如何以最好的方式重新格式化文档。关于如何实现这个目标的任何解决方案?
答案 0 :(得分:0)
这是我要做的基本想法。您可能需要将“•”替换为该字符的unicode。这个脚本可能不起作用,但它总体上知道我会做什么。
<?php
$url = 'http://erik-edgren.nu/files/history/apg29/jesus-september-2014.txt';
$thedata=file_get_contents($url);
$lines=explode(PHP_EOL,$thedata);
$line1='';
foreach($lines as $a)
{
if(substr($a,2,2)=='• ')
{
$data=explode(' ',$a);
$line1=$data[1] . ' (' . $data[3] . ' ' . $data[4] . ', ' . $data[5] . ')'.PHP_EOL;
}
if(substr($a,2,2)=='- ')
{
echo $line1 . substr($a,2) . PHP_EOL;
}
}
?>