PHP: проверка дали даден текст се намира в страницата

submit1

Registered
Здравейте,

Имам woocommerce и след пускане на поръчка се зарежда thank you странца, на която се показват данните за поръчката - поръчани продукти и тн.

Въпросът ми е как с php мога да направя проверка дали дадено изречение (име на продукт) присъства на страницата и ако да - да изпълни код.
 
За конкретния случай - би трябвало да имаш цикъл, който да обхожда продуктите в поръчката и да ги печата на екрана. Единият вариант е преди обхождането да си направиш една променлива със стойност 0 и при обхождането на всеки продукт да проверяваш дали името му съвпада с търсеното от теб и ако ако да - променяш стойността на променливата на 1. След като излезеш от цикъла проверяваш дали стойността е 1 и ако да - изпълняваш кода. При този подход добра идея ще е да проверяваш първичния ключ (ID) на продукта вместо името му. Другият вариант е ако продуктите се намират в обект може да провериш дали в класа му няма функция, която да търси в продуктите, и ако има да я използваш, ако няма можеш да я създадеш, като следваш същата логика за обработка в цикъл.

По-общо по въпроса - за да провериш дали даден низ присъства в страницата или част от нея можеш да използваш буфер.
Код:
ob_start(); //започваш да буферираш печатаното съдържание
//Печаташ текст, в който по-късно ще търсиш
$var = ob_get_contents(); //Присвояваш записаното в буфера на променливата $var
if(strpos($var,"търсения низ") !== false) { //Проверяваш дали търсения низ присъства
//кода, който трябва да бъде изпълнен ако низът присъства
}
ob_end_fush(); //печаташ записаното в буфера и спираш буферирането на печатаното съдържание
Имай предвид, че strpos() е case-sensitive, т.е. в "Web-Tourist" ще открие "Tourist", но не и "tourist", ако искаш обратното поведение използвай stripos()
 
submit1 каза:
Здравейте,

Имам woocommerce и след пускане на поръчка се зарежда thank you странца, на която се показват данните за поръчката - поръчани продукти и тн.

Въпросът ми е как с php мога да направя проверка дали дадено изречение (име на продукт) присъства на страницата и ако да - да изпълни код.
А целта каква е?
 
Благодаря за проверката със strpos!

Целта е при поръчан продукт да дисплейна на thank you страницата друг, свързан с поръчания.
Оказа се, че продуктите си имат променлива $item['name'] , което доста улесни задачата.

Код:
<?php if(strpos($item['name'],"Фондация") !==false){
    echo "кода за еди-кой си продукт"; }
    elseif (strpos($item['name'],"Регистрация на ЕООД чрез Advokatami") !==false) {
echo "кода за друг еди-кой си продукт";
}
elseif ... и т.н.
?>
 

Back
Горе