| 

.NET C# Java Javascript Exception

0
Ich habe einen php-string. ich möchte herausfinden, ob dieser den selben text 2 mal enthält oder nicht.
Dazu müsste ich irgendwie einen neuen string machen, der genau aus der ersten Hälfte des Strings besteht (gesetzt der Fall er besitzt eine gerade anzahl von zeichen, weil sonst kann er ja nicht 2 mal den selben text enthalten) und ihn mit einem zweiten string vergleichen, der die zweite hälfte des ursprünglichen Strings enthält, oder?

Wenn gleich, dann doppelter text, wenn nicht gleich, dann nicht doppelter text.

Danke für eure Hilfe!
News:
30.03.2011
Gast
3 2
2 Antworten
1
Naja, der Text kann nur dann doppelt sein, wenn du genau in der Mitte splittest und die beiden Hälften gleich sind:
function is_double_content($text)
{
$len = strlen($text);
$hl = round($len / 2,0);
if( 2*$hl != $len )
return false;
$a = substr($text,0,$hl);
$b = substr($text,$hl);
return $a == $b;
}

is_double_content("asdasd"); // true
is_double_content("asdasd1"); // false
is_double_content("asdASD"); // false
30.03.2011
DaSpors 4,1k 1 8
gibts da nicht noch den modulo operator %?
nabuchodonossor 30.03.2011
2
wollte meinen:

$len = strlen($text);
if( $len % 2 ) return false;
nabuchodonossor 30.03.2011
wunderbar, danke!
– Gast 30.03.2011
natürlich geht modulo, aber ergebnis ist dasselbe, $hl muss eh berechnet werden und überhaupt ist das nur so runtergetippt, geht also bestimmt 'eleganter' :)
DaSpors 30.03.2011
bleibt aber trotzdem die frage, wie kommt es zu so einer doch eher absonderlichen konstellation?
nabuchodonossor 30.03.2011
was? wieso absonderlich? was soll eigentlich diese diskussion? ich dachte mein erster kommentar erklärt alles, aber scheinbar...
DaSpors 30.03.2011
mit absonderlich war nicht dein kommentar, sondern die fragestellung gemeint. woher kommen die doppelten strings?
nabuchodonossor 30.03.2011
das kommt von menschen, welche daten in datenbanken eingeben, aber nicht wissen, was sie tun und mich dann damit konfrontieren :-P
– Gast 20.04.2011
0
zuerst fällt mir mal die substr funktion ein:
30.03.2011
nabuchodonossor 1,2k 4
natürlich war ich wie meistens zu langsam *g*
nabuchodonossor 30.03.2011
das kommt von menschen, welche daten in datenbanken eingeben, aber nicht wissen, was sie tun und mich dann damit konfrontieren :-P
– Gast 20.04.2011
das kenn ich ... programmieren könnte so schön sein ohne die anwender *g*
nabuchodonossor 20.04.2011

Stelle deine Php-Frage jetzt!