php - 用英文字母替换土耳其字母

标签 php html regex

我想用英文字母替换句子中的每个土耳其字母,我尝试了以下功能:

$title_result = "Türkiye'nin en iyi oranlari ile Lider Bahis Sitesi";
$turkish = array("ı", "ğ", "ü", "ş", "ö", "ç");//turkish letters
$english   = array("i", "g", "u", "s", "o", "c");//english cooridinators letters

$final_title = str_replace($turkish, $english, $title_result);//replace php function
print_r($turkish);//when printing this i got: Array ( [0] => ı [1] => ğ [2] => ü [3] => ş [4] => ö [5] => ç ) 
return $final_title;

我认为问题出在土耳其字符中,但我不知道如何让 php 正确读取这些字符以正确进行替换。我需要你的建议吗??

最佳答案

您是否注意到您正在打印 $turkish 而不是替换的字符串(即 $final_title)?您看到一个数组是因为您正在打印该数组。如果您在浏览器上单独打印数组,您会看到那些乱七八糟的字符,这可能是因为输出不是 UTF-8 编码的。但是,如果您这样做(注意元标记):

<meta charset="utf-8" />
<?php
$title_result = "Türkiye'nin en iyi oranlari ile Lider Bahis Sitesi";
$turkish = array("ı", "ğ", "ü", "ş", "ö", "ç");//turkish letters
$english   = array("i", "g", "u", "s", "o", "c");//english cooridinators letters

$final_title = str_replace($turkish, $english, $title_result);//replace php function
print_r($turkish);

您将正确地看到字符。但那不是问题。 str_replace() 工作正常。它应该可以正常工作。

关于php - 用英文字母替换土耳其字母,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19582497/

相关文章:

php - 简单的MySQL查询和比较

php - 如何通过 PHP 从 Swift 将 UIImage 上传到 MySQL?

html - Adsense 每页有多个广告?

java - 用于分隔文件行的正则表达式

php - 我正在努力做,_POST 是空的

php - 基本信息保存在cookie中还是一直在mysql中获取?

javascript - 根据选择选项更改 jQuery UI slider 值

html - 从右边缘开始的 CSS 背景图 block

javascript - RegEx Javascript - 我做错了什么?

C# 正则表达式 : Remove leading and trailing double quotes (")