Php Replace Sorunu
-
nurulmac11 bunu yazdıSerYolcu bunu yazdı
http://php.net/manual/tr/function.str-replace.php
Şu açıklama senin problemini açıklıyor galiba..
// F çıktılanır, çünkü A ile B, B ile C, ... yer değiştirir.
// Yer değiştirme soldan sağa doğru yapıldığından
// son olarak E ile F yer değiştirir.
$search = array('A', 'B', 'C', 'D', 'E');
$replace = array('B', 'C', 'D', 'E', 'F');
$subject = 'A';
echo str_replace($search, $replace, $subject);aydınlanma yaşadım doğru lan :D ama problemi nası çözücem bi fikir gelmedi aklıma, yani nasıl istediğim gibi yapabilirim ben bunu ?
nette aradım galiba ağır regex gerekio prgreplace la yapmak lazımmış ?
Hocam böyle harf değiştireceksen bir for döngüsü ile işini halledersin.
-
Konu ile alakasız olucak ama daha once kırdıgım bı yazılımdada buna benzer bısı vardı
Protected Function cevirstring(ByVal metin As String) As String
Dim str As String = String.Empty
Dim strArray2 As String() = New String() {"a", "b", "c", "ç", "d", "e", "f", "g", "ğ", "h", "ı", "i", "j", "k", "l", "m", "n", "o", "ö", "p", "r", "s", "ş", "t", "u", "ü", "v", "y", "z", "w", "q", "x", "A", "B", "C", "Ç", "D", "E", "F", "G", "Ğ", "H", "I", "İ", "J", "K", "L", "M", "N", "O", "Ö", "P", "R", "S", "Ş", "T", "U", "Ü", "V", "Y", "Z", "W", "Q", "X", "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", ".", ",", ";", "-", "_", "!", "?", "$", "=", "/", ":"}
Dim strArray3 As String() = New String() {"b", "a", "ç", "c", "e", "d", "g", "f", "h", "ğ", "i", "ı", "k", "j", "m", "l", "o", "n", "p", "ö", "s", "r", "t", "ş", "ü", "u", "y", "v", "w", "z", "x", "q", "B", "A", "Ç", "C", "E", "D", "G", "F", "H", "Ğ", "İ", "I", "K", "J", "M", "L", "O", "N", "P", "Ö", "S", "R", "T", "Ş", "Ü", "U", "Y", "V", "W", "Z", "X", "Q", "1", "0", "3", "2", "5", "4", "7", "6", "9", "8", ".", ";", ",", "_", "-", "?", "!", "=", "$", ":", "/"}
Dim chArray As Char() = metin.ToCharArray
Dim i As Integer
For i = 0 To chArray.Length - 1
Dim j As Integer
For j = 0 To strArray2.Length - 1
If (chArray(i).ToString = strArray2(j)) Then
str = (str & strArray3(j))
j = strArray2.Length
End If
Next j
Next i
Return str
End Function
Belki işine yarar
sende buna benzer bısı yaptıgını dusunerek paylasıyorum bunu sonra yanlıs anlasılmasın herıf php konusunda vb.net kodu vermıs vs vs ...
-
beyler sağolun da yine beceremedim.
//$newphrase = str_replace($girdi, $cikti, $phrase);
foreach ($phrase as $harf) {
for ($i=0;$i<=73;$i++){
if ( str_replace($girdi[$i], $cikti[$i], $harf)){
$son[]=str_replace($girdi[$i], $cikti[$i], $harf);
break;
}
}
}
var_dump($son);
şöyle bişi düşündüm gelen veriyi harflere bölüp her harfi değişmesi gereken yere kadar deneyip değişince breakle bitirmek ama olmuyor
-
<?php
$phrase = @$_GET["x"];
$phrase =str_split($phrase);
$girdi = array('a','b','c','ç','d','e','f','g','ğ','h','ı','i','j','k','l','m','n','o','ö','p','r','s','ş','t','u','ü','v','y','z','w','x','q','A','B','C','Ç','D','E','F','G','Ğ','H','I','İ','J','K','L','M','N','O','Ö','P','R','S','Ş','T','U','Ü','V','Y','Z','W','X','Q','0','1','2','3','4','5','6','7','8','9');
$cikti = array('o','C','q','v','L','j','k','t','1','g','e','h','R','w','3','F','Ö','İ','Ü','J','Ş','8','b','9','K','a','ş','p','n','ç','f','M','4','I','V','B','d','A','2','H','z','W','l','E','i','P','m','s','x','ğ','U','G','ö','c','0','Ç','ü','Ğ','y','S','N','O','T','u','r','Q','5','7','ı','Y','X','Z','6','D');
foreach ($phrase as $harf) {
$yeni=$harf;
for ($i=0;$i<=73;$i++){
$yenim=str_replace($girdi[$i], $cikti[$i], $yeni);
if ($yenim!=$harf){
$son[]=$yenim;
break;
}
}
}
foreach ($son as $harf) {
echo $harf;
}
?>
bu şekilde hallettim yardımcı olan arkadaşlara teşekkür ederim