Advertisement
Guest User

Untitled

a guest
Dec 18th, 2014
301
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.46 KB | None | 0 0
  1. //<?php
  2.  
  3. $text = $_GET['text'];
  4. $pattern = "/(?<![a-zA-Z])[A-Z]+(?![A-Za-z])/"; //Тук търсим комбинация от главни букви, която обаче да няма други букви около себе си. //Така например в GoPHP няма да хванем нищо, а в IBM123 ще хванем IBM, както се иска по условие.
  5. preg_match_all($pattern, $text, $matches);
  6. $replacer = array();
  7. $patternArray = array();
  8. foreach ($matches[0] as $key => $word) {
  9. $wordTemp = '';
  10. if($word==strrev($word)){
  11. $temp = str_split($word);
  12. foreach ($temp as $key => $letter) {
  13. $wordTemp .= $letter.$letter;
  14. }
  15.  
  16. }
  17. else{
  18. $wordTemp = strrev($word);
  19. }
  20. $replacer[] = $wordTemp; //в цикъла по-горе създаваме реплейсър за всяка открита дума според условието и го слагаме в този масив.
  21. $patternArray[] = "/(?<![a-zA-Z])".$word."(?![A-Za-z])/"; //тук създаваме схема от патерни. Търси дума която съвпада с //мачнатата, но съвпада напълно, тоест не е двойна или част от друга дума.
  22. }
  23.  
  24.  
  25. $text = preg_replace($patternArray, $replacer, $text); Тук заместваме всяка дума, която трябва, със съответния заместител.
  26. echo "<p>".htmlspecialchars($text)."</p>";
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement