preg_replace

Forumas skirtas klausimams/pamokoms susijusioms su PHP, SQL (MySQL), web technologijomis, HTML, CSS, javascript, turinio valdymo sistemomis ir kita.
Locked
User avatar
V1LKAS
Flooderis arba specialistas
Posts: 612
Joined: 2012 Nov 08 12:55
Skype: darius489

preg_replace

Post by V1LKAS »

Truputi reikia nušvietimo, kaip elgtis su variables su preg_replace, šiuo atvėju preg_replace gražina pilną $message, vietoj to kad gražintų message be paterno ($key)
Message: Raktazodis (tarpas) kitas_tekstas
$sms_text turėtų gražinti "Message($message) - (be) Raktazodis($key) t.y gražinti be raktažodžio jo vietoje palikti $tarpas reikšmę, bet nei velnio jis to nedaro ir nžn kodėl :piktas2:

Code: Select all

    $prm = array();    parse_str(base64_decode(strtr($_GET['data'], array('-' => '+', '_' => '/'))), $prm);        $key = strtoupper($prm['key']);    $number = $prm['from'];    $message =$prm['sms'];        $tarpas ="";    $paternas = "/$key /";    $sms_text = preg_replace($paternas, $tarpas, $message);
Last edited by V1LKAS on 2014 Jun 07 15:35, edited 1 time in total.

User avatar
psychical
Viršininkas
Posts: 2094
Joined: 2011 Mar 12 22:19
Skype: tautvydas11
Location: Linksmakalnis
Contact:

Re: preg_replace

Post by psychical »

Pirmiausia, tai pasakyk ar aš supratau teisingai, tada pagalvosiu ar galiu padėti, nes su tokiu pagalbos prašymu, tai galvą galima susidaužyt į sieną, kol supranti, ko norima... :D

1. Gauni žinutę "$message"
2. Kintamojo reikšmė: "Message($message) - Raktažodis($key)"
2. Tu nori, kad $key reikšmė, būtų pakeista į "" (nieką, tuščia vietą)? Taip?

User avatar
V1LKAS
Flooderis arba specialistas
Posts: 612
Joined: 2012 Nov 08 12:55
Skype: darius489

Re: preg_replace

Post by V1LKAS »

psychical wrote:Pirmiausia, tai pasakyk ar aš supratau teisingai, tada pagalvosiu ar galiu padėti, nes su tokiu pagalbos prašymu, tai galvą galima susidaužyt į sieną, kol supranti, ko norima... :D

1. Gauni žinutę "$message"
2. Kintamojo reikšmė: "Message($message) - Raktažodis($key)"
2. Tu nori, kad $key reikšmė, būtų pakeista į "" (nieką, tuščia vietą)? Taip?
Jo gauta žinutė yra $message, jos viduje yra raktažodis ir kitas žinutes tekstas, aš noriu tiesiog ji(raktazodi) nutrinti, arba kaip tu sakai kad būtų pakeista į "" (nieką, tuščia vietą), bandžiau įvairius variantus preg_match, str_replace, chop zdž is stringiam ir variables varintų krūva bandžiau , teoriškai turėtų eiti bet...

User avatar
psychical
Viršininkas
Posts: 2094
Joined: 2011 Mar 12 22:19
Skype: tautvydas11
Location: Linksmakalnis
Contact:

Re: preg_replace

Post by psychical »

Amm, suprantu, kaip atrodo $prm, bet kaip atrodo $params kintamasis?

User avatar
V1LKAS
Flooderis arba specialistas
Posts: 612
Joined: 2012 Nov 08 12:55
Skype: darius489

Re: preg_replace

Post by V1LKAS »

Mano klaida, ten taipogi yra $prm, tiesiog rašydamas čia nukopijavau redaguojamą variantą. Bandžiau variantą su

Code: Select all

preg_match('/[*$/', $message, $sms_text);
Bet tokiu atvėju žinutės teksto galimybės susiaurėja iki vieno žodžio be simbolikos
Last edited by V1LKAS on 2014 Jun 07 15:43, edited 1 time in total.

User avatar
psychical
Viršininkas
Posts: 2094
Joined: 2011 Mar 12 22:19
Skype: tautvydas11
Location: Linksmakalnis
Contact:

Re: preg_replace

Post by psychical »

V1LKAS wrote:Mano klaida, ten taipogi yra $prm, tiesiog rašydamas čia nukopijavau redaguojamą variantą.
Tai pažiūrėk, ar ne būtent dėl to visa tai ir nesisakau tau...

Bandyk tokį variantą:

Code: Select all

$prm = array();parse_str(base64_decode(strtr($_GET['data'], array('-' => '+', '_' => '/'))), $prm);   $key = $prm['key'];$nr = $prm['from'];$msg = $prm['sms']; $sms_text = str_replace($key, "", $msg);

User avatar
V1LKAS
Flooderis arba specialistas
Posts: 612
Joined: 2012 Nov 08 12:55
Skype: darius489

Re: preg_replace

Post by V1LKAS »

Bandžiau ir toki variantą jau, bet pabandysiu dar kart galbūt gramatika kurs nors bloga buvo.

Ta pati chuinia:
Rezultatas

Code: Select all

echo $sms_text;
107UserVIP tekstas

Galbūt php versijos specifika kokia kertasi?
php -v 5.3.3-7 sushosin

-- 2014 Bir 07 16:19 --

Išsiaiškinau kame bėda tiesiog mokejimai.lt key siunčia didžiosiomis raidėmis, o aš bandžiau lyginti sms tekste nurodyta raktažodi kurio ne visi simboliai yra didžiosiomis raidėmis ireplace išgelbėjo, bet kokiu atvėju dėkui už pagalbą.

Locked

Who is online

Users browsing this forum: No registered users and 50 guests