我从.csv文件中抓取汉字并通过PHP回显到HTML中,很难从.csv (复制粘贴到.txt中并变得更容易处理数据)直接抓取它们,我的hanzi_characters.txt有几百行行--这个示例:
hanzi_characters.txt
产品
產品
囚徒困境
不正当竞争我所需要的
产
品
產
品
我尝试使用str_split()和but ()作为字符串的foreach循环,但只输出������。
在没有任何想法之前,我也尝试过使用array_chunk()和array_slice(),但正如预期的那样,结果与不使用这些方法相同。
我也尝试过这个解决方案分配$s = parts[0];,但也无法使其工作。
现在这是我的密码:
Index.php
<?php
$myfile = fopen("hanzi_characters.txt", "r") or die("Unable to open file!");
while (!feof($myfile)) {
$printed = fgets($myfile);
$parts = preg_split('/[\\s,]/u', $printed);
$echo parts[0];
}
fclose($myfile);
?>电流输出:
产品
產品
囚徒困境
不正当竞争
发布于 2015-07-24 17:01:00
我想您可以在这里使用php字符串数组。运行一个foreach循环,遍历所有行,然后使用php字符串数组。
foreach() //run for each line
{
$q = "不正当竞争";
for($i=0; $i <= strlen($q) - 1; $i++)
{
echo $q[$i] . "<br>";
}
}发布于 2015-07-24 18:24:22
PHP的多字节字符串函数
您要寻找的是PHP的多字节字符串函数,特别是mb_ereg_replace。
我认为你真正想要的陈述如下:
mb_ereg_replace ("~\s+~", '<br\>', $string);检查PHP的字符集
为了使用mb_ereg_replace,您从文件中读取的字符串的字符集必须与PHP使用的字符集相同。如果您读取了您的文件并将其包装在一个<pre>标记中,那么它是否用正确的字符显示该文件?否则,文件的编码可能与PHP使用的编码不同。
在确保您使用的是本指南或类似的编码时,您可能需要查看utf8。一旦完成,并且知道了文件的编码,就可以使用编码 (如果发送到浏览器,确保使用HTML-ENTITIES )将读取的字符串转换为在PHP中使用的字符集。
https://stackoverflow.com/questions/31615826
复制相似问题