On 21-Jun-2001, [EMAIL PROTECTED] wrote:
> Saya mencoba fungsi regular expression.
> Kasusnya adalah mencari string yang match selain "cinta" .
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> Berikut cara saya, tapi gagal.. ;(
>
> <?
> $string = "berbahagialah cinta itu anugrah Tuhan";
> preg_match_all("/^(cinta)/",$string,$hasil);
Ini akan match hanya jika $string diawali dengan "cinta", karena "^" artinya
"pada awal".
> $hasil1=implode("",$hasil[0]);
> ....
> ?>
Dan karena yg anda match cuma "cinta" maka $hasil akan selalu cuma satu
element, dan itu pun baru ada kalo match, kalo tidak match ya kosong.
> Gimana caranya agar yang ketemu itu : berbahagialah itu anugrah Tuhan ???
Ini lain dengan yg anda tanyakan di atas. Kalo ini artinya anda mau
menghilangkan "cinta" dari $string. Triknya adalah menggunakan substitution
dengan nothing:
$stripped = preg_replace("/cinta//g", $string);
tentu saja regexnya mungkin perlu di-adjust sesuai kebutuhan anda.
Kalo yg anda tanyakan di atas, yaitu negative dari match, bisa dengan
operator "not":
if ( ! preg_match("/cinta/", $string) )
...
Ronny
--
To verify my PGP signature get my public key from http://ronny.haryan.to/
PGP signature