PHP Biçim değişken

4 Cevap

Ben harf harflerini ve bir boşluk ile aşağıda gösterildiği gibi bir değişken var. Ne biçimine ideal bir yol olacağını çok daha düşük harf harfleri ve koyar arasında "-" çizgi. Yani sonuç olmalıdır "los-angeles":

$city = "Los Angeles";

dönüştürmek

$city ="los-angeles";

4 Cevap

str_replace(' ', '-', strtolower($city));

Ama url oluşturmak için çalışıyoruz eğer yeterli olmayacaktır.

Belirli bir görevi başarmak için yapmanız ediyorum:

$city = str_replace(' ','-',strtolower($city));

Ancak, (yorum önerilen gibi) dize bir URL çalışacak böylece yapıyorsan, yapmanız gereken:

$city = urlencode($city);
function slug($str)
{
    $str = strtolower(trim($str));
    $str = preg_replace('/[^a-z0-9-]/', '-', $str);
    $str = preg_replace('/-+/', "-", $str);
    return $str;
}

Eğer PHP bahsediyoruz varsayarsak.

  /** method slugify
    * 
    * cleans up a string such as a page title
    * so it becomes a readable valid url
    *
    * @param STR a string
    * @return STR a url friendly slug
    **/

    function slugifyAlnum( $str ){

    $str = preg_replace('#[^0-9a-z]#i', ' ', $str );    // allow letter and numbers only
    $str = preg_replace('#( ){2,}#', ' ', $str );       // rm adjacent spaces

    return strtolower( str_replace( ' ', '-', $str ) ); // slugify


    }

Komik, ben bugün bu konuda çalışıyordu, ben buraya göndermeden önce düzeltin, bu fonksiyon Kullanıcılar Eğer mod_rewrite vb bir sümüklü böcek oluşturmak için kullanmak istediğiniz bir sayfa başlığı oluşturmak için izin verilen zaman için

Bunun etc olmayan alnum karakter yapıştırma, birden fazla alanı gibi olağan f-up için izin