将商标等标志转换为字母数字字符串

时间:2015-12-01 21:30:18

标签: php magento unicode-string

在magento升级过程中,某些产品网址已更改为产品名称中的内容,例如,我尝试检测那些具有magento将其转换为常用网址密钥的商标的网址,

例如产品名称为:

strikeline™-rugged-led

和URL变为:

strikelinetm-rugged-led

有没有将商标和其他unicode标志转换为字母字母的功能?我需要它来检测更改网址的某些部分。我对UTF8了解不多,但使用

<meta http-equiv="content-type" content="text/html; charset=utf-8" />

我能够看到良好格式的商标,现在我需要将TM转换为tm,我还有其他迹象,这只是为了澄清。

1 个答案:

答案 0 :(得分:0)

我发现这段代码不久(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');


?>