将商标等符号转换为字母数字字符串
convert sign like trademark to alphanumeric string
在 magento 升级过程中,一些产品 urls 已更改为产品名称中的内容,例如,我试图检测那些具有 magento 将其转换为通常的商标的产品 url钥匙,
例如产品名称是:
strikeline™-rugged-led
和URL变成了:
strikelinetm-rugged-led
有没有把商标等unicode符号转换成英文字母的功能?我需要它来检测更改的某些部分 urls.I 不太了解 UTF8 但通过使用
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
我能够看到格式良好的商标,现在我需要将 ™ 转换为 tm ,我还有其他标志,这只是为了澄清。
我不久前发现了这段代码 (http://cubiq.org/the-perfect-php-clean-url-generator)
<?php
setlocale(LC_ALL, 'en_US.UTF8');
function toAscii($str, $replace=array(), $delimiter='-') {
if( !empty($replace) ) {
$str = str_replace((array)$replace, ' ', $str);
}
$clean = iconv('UTF-8', 'ASCII//TRANSLIT', $str);
$clean = preg_replace("/[^a-zA-Z0-9\/_|+ -]/", '', $clean);
$clean = strtolower(trim($clean, '-'));
$clean = preg_replace("/[\/_|+ -]+/", $delimiter, $clean);
return $clean;
}
echo toAscii('strikeline™ rugged led');
?>
在 magento 升级过程中,一些产品 urls 已更改为产品名称中的内容,例如,我试图检测那些具有 magento 将其转换为通常的商标的产品 url钥匙,
例如产品名称是:
strikeline™-rugged-led
和URL变成了:
strikelinetm-rugged-led
有没有把商标等unicode符号转换成英文字母的功能?我需要它来检测更改的某些部分 urls.I 不太了解 UTF8 但通过使用
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
我能够看到格式良好的商标,现在我需要将 ™ 转换为 tm ,我还有其他标志,这只是为了澄清。
我不久前发现了这段代码 (http://cubiq.org/the-perfect-php-clean-url-generator)
<?php
setlocale(LC_ALL, 'en_US.UTF8');
function toAscii($str, $replace=array(), $delimiter='-') {
if( !empty($replace) ) {
$str = str_replace((array)$replace, ' ', $str);
}
$clean = iconv('UTF-8', 'ASCII//TRANSLIT', $str);
$clean = preg_replace("/[^a-zA-Z0-9\/_|+ -]/", '', $clean);
$clean = strtolower(trim($clean, '-'));
$clean = preg_replace("/[\/_|+ -]+/", $delimiter, $clean);
return $clean;
}
echo toAscii('strikeline™ rugged led');
?>