Jeżeli coś jest wartego uwagi a nie jest to materiał na pełnoprawnwgo posta na blogu to będę starać się to umieszczać w tym miejscu.
- Szukasz po tagu: szukanie po stringach w php
- Ilość rekordów w bazie: 9
like w php
<?php
$expectedDateString = 'to słowo ma now w sobie';
if (mb_strpos($expectedDateString, 'now', null, 'utf-8') !== false) {
echo 'jest';
}
Php ważne
Funkcje substr i strlen krzaczą się z polskimi znakami. Zamiast nich używać :
<?php
$string = 'ćów123214';
$lenght = mb_strlen($string, 'UTF-8');
$cut = mb_substr($string, 0, 2, 'UTF-8');
var_dump($lenght,$cut);
Php obcinanie stringa
<?php
$test = 'ęą';
$res1 = substr($test, 0, 11));
$res2 = mb_substr($test, 0, 11));
//substr sie wykrzczy na polskich znakach!!!!
strpos problem
if (isset($resposne['message']) && (strpos($resposne['message'], 'wystepuje blokada ponownego dodania')!== false)) {
$this->normalizeStatus = self::STATUS_DUPLICATE;
}
Trzeba dodać !== false bo ineczej nie działa to poprawnie
Zamiana klucza w json
/**
* replace user agent in text to user agent from actual environment
*
* @param string $text
*
* @return string
*/
private function replaceUserAgent(string $text): string {
$client = new Client();
$userAgent = str_replace('/', '\/', ($client->getConfig('headers')['User-Agent']));
$result = preg_replace('/"user_agent":"(Guzzle[A-Za-z0-9 . \/\\\]*)"/', '"user_agent":"' . $userAgent . '"', $text);
//or $result = preg_replace('/"user_agent":"GuzzleHttp(.*)"/', '"user_agent":"' . $userAgent . '"', $text);
//. kropka - dowolny znak * oznacza dowolną ilosc razy bez gwiazdki brało by pod uwagę tylko pierwszy znak.
return $result;
}
Obcięcie stringa do max ilości znaków
mb_substr($var,0,142, "utf-8");
Pobieranie tekstu po wystąpieniu ostatniego znaku
//get id from string example - bestloan.pl-12 -> 12
$dataTypeId = substr(strrchr(rtrim($searchIdValue, '-'), '-'), 1);
Wyciąganie ciągu znaków do wystąpienia znaku
<?php
$mystring = 'ten text chcę=a tego nie';
$first = strtok($mystring, '=');
echo $first.'<br><br><br>'; // ten text chcę
Pobieranie wszystkiego między dwoma znakami
<?php
function GetBetween($var1="",$var2="",$pool){
$temp1 = strpos($pool,$var1)+strlen($var1);
$result = substr($pool,$temp1,strlen($pool));
$dd=strpos($result,$var2);
if($dd == 0){
$dd = strlen($result);
}
return substr($result,0,$dd);
}
//===============================================
$str ='chce wszystko od @to chce wyciagnąć@';
echo GetBetween('@','@',$str);//to chce wyciagnąć
?>