Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //<?php
- $text = $_GET['text'];
- $pattern = "/(?<![a-zA-Z])[A-Z]+(?![A-Za-z])/"; //Тук търсим комбинация от главни букви, която обаче да няма други букви около себе си. //Така например в GoPHP няма да хванем нищо, а в IBM123 ще хванем IBM, както се иска по условие.
- preg_match_all($pattern, $text, $matches);
- $replacer = array();
- $patternArray = array();
- foreach ($matches[0] as $key => $word) {
- $wordTemp = '';
- if($word==strrev($word)){
- $temp = str_split($word);
- foreach ($temp as $key => $letter) {
- $wordTemp .= $letter.$letter;
- }
- }
- else{
- $wordTemp = strrev($word);
- }
- $replacer[] = $wordTemp; //в цикъла по-горе създаваме реплейсър за всяка открита дума според условието и го слагаме в този масив.
- $patternArray[] = "/(?<![a-zA-Z])".$word."(?![A-Za-z])/"; //тук създаваме схема от патерни. Търси дума която съвпада с //мачнатата, но съвпада напълно, тоест не е двойна или част от друга дума.
- }
- $text = preg_replace($patternArray, $replacer, $text); Тук заместваме всяка дума, която трябва, със съответния заместител.
- echo "<p>".htmlspecialchars($text)."</p>";
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement