- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我是 php 的新手,我正在尝试编写一个脚本来读取 CSV 文件 (file1.csv) 并将文件中的单词与 html 文件 (file2.html) 中的单词进行比较,如果 file2 中有单词.html 与 file1.csv 中的关键部分匹配 它应该使用匹配的关键值更改 file2.html 内容..
到目前为止我所做的是:
$glossArray = array();
$file_handle = fopen("file1.csv", "r");
while (!feof($file_handle) ) {
$line_of_text = fgetcsv($file_handle, 10000,';');
$glossArray[$line_of_text[0]] = $line_of_text[1];
$counter++;
}
fclose($file_handle);
$file = file_get_contents("file2.html");
foreach($glossArray as $key => $value){
$results = str_replace($key," means ".$value ,$file);
}
echo $results;
我认为当我尝试迭代和更改值时我的问题出现了..因为我看到的只是 file2.html 的内容没有改变
任何帮助将不胜感激
提前谢谢你
纳德
附言我根据您的宝贵建议用新代码编辑了旧代码..现在是这样的..但仍然不起作用。
更新:将 foreach 更改为:
$results = str_replace(array_keys($glossArray), "means ".array_values($glossArray), $file);
解决了这个问题..但是另一个问题出现了:现在每次它替换一个字符串时它都会在它前面添加单词“Array”。
最佳答案
您每次都将整个 $glossArray 传递给 str_replace。每次执行 str_replace 时,您还将传递初始文件内容,因此您最多只能看到一个替换内容。我想你想改成这样:
$results = $file;
foreach($glossArray as $index=>$value)
{
$results = str_replace($index,$value ,$results);
}
由于 str_replace 允许前两个参数使用数组(正如另一个用户提到的),您也可以执行类似这样的操作而不是循环:
$results = str_replace(array_keys($glossArray), array_values($glossArray), $file);
关于PHP,从数组读取时str_replace出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4106742/
当前代码仅将空格替换为破折号(-) $url = str_replace(' ','-',$url); 我只想在 URL 中使用字母、数字和破折号 (-)。 让我知道技巧。 最佳答案 你想要这个来生成
$str 是 foreach 中的某个值。 $str = str_replace('_name_','_title_',$str); 如何制作if str_replace? 我想做的事情 if hav
strtr 有两种形式: string strtr ( string $str , string $from , string $to ) string strtr ( s
str_replace — 子字符串替换 [str_replace] mixed str_replace ( mixed $search
我试图在回显之前从文本中删除句点和逗号之前的所有空格。 文本可能看起来像这样,并且到处都有空格。 Bla bla bla... 这是我的代码,尽管它成功删除了任何 () 并将其替换为“无”: $str
我有一个看起来很简单的查询。我在 PHP 中有以下代码: $newThumb = str_replace('style="width:170px;"','',$nolinkThumb); 我遇到的问题
您好! 我从 .xlsx 文件中获取字符串 ->"N°X" 我想用 Num_X 替换 "N°" 我正在尝试用 $var = str_replace("N°","Num_",$var); 但没有任何东西
我正在尝试仅获取视频文件的持续时间。 我将使用 ffmpeg 抓取任何长度的视频文件的精确 10 个缩略图。 为此,我需要找出持续时间,然后除以 10 来做 ffmpeg。 结果是一样的。 str_r
我正在使用 str_replace,但它无法正常工作。我有一个文本区域,输入是用表单发送的。当服务器接收到数据时,我想将新行更改为“,”。 $teams = $_GET["teams"]; $team
我已经研究过并且需要找到用一系列随机可能性替换需求的最佳方法。 即: $text = "Welcome to [city]. I want [city] to be a random version
这是我试图用“-”替换单词之间的空格的字符串。 $mystring = "Color red, Color blue, Color black"; $newstring = str_replace('
我需要打开一个文件,替换一些内容(12345 为 77348)并保存。据我所知 $cookie_file_path=$path."/cookies/shipping-cookie".$unique;
奇怪,我一定是漏掉了什么。 $city = "vancouver"; $insert1 = "https://www.site.ca/buy/vancouver/28130965/"; $url
我在将数组返回到指定字符串时遇到了问题。所以,这是我尝试过的代码。 $setValues = array("test1", "test2", "testurl"); $change = join("'
这个问题不太可能对任何 future 的访客有帮助;它只与一个小的地理区域、一个特定的时间点或一个非常狭窄的情况相关,通常不适用于互联网的全局受众。如需帮助使这个问题更广泛适用,visit the h
如何使用str_replace但在搜索字符串时不区分大小写? 例如,假设我想替换 ABcD与 a 。生成的命令将是 $string=str_replace("ABcD","a",$string); 。
我正在循环浏览表格中的标题,因此它本质上是这样的。 foreach($c as $row){ echo string_shorten($row['title']); } 我正在尝试使用一个 s
我正在尝试在 PHP 中进行重音字符替换,但得到的结果很奇怪,我的猜测是因为我使用的是 UTF-8 字符串,而 str_replace 无法正确处理多字节字符串。 $accents_search
$a = $_GET['a']; $d = array("æ", "ø", "å", "Æ", "Ø", "Å"); $e = array("æ", "ø", "å",
我有一个简单的 PHP 脚本,应该用反斜杠转义单引号和双引号。这是我的代码: $output = str_replace('"','\"',$input); $output = str_replace
我是一名优秀的程序员,十分优秀!