<?php
function convert($keyword) {
'/(\\p{N})(\\p{L})/u',
'/(\\p{L})(\\p{N})/u',
'/(\\p{Ll})([\\p{Lu}\\p{Lt}])/u',
'/(\\p{Lu}{2,})(\\p{Ll})/u',
),
'$1 $2',
$keyword
);
return $wResult;
}
"comeHEREtomorrow",
"KissYouTODAY",
"comeÜndeHere",
"NEVERSAYIT",
"2013willCome",
"Before2013ends",
"IKnowThat",
"#whatiknow"
);
"come HERE tomorrow",
"Kiss You TODAY",
"come Ünde Here",
"NEVERSAYIT",
"2013 will Come",
"Before 2013 ends",
"I Know That",
"# whatiknow"
);
foreach ($search_keyword as $key => $w) {
$wExpected = $need_keyword[$key];
$wResult = convert($w);
$check = strcmp($wExpected, $wResult); $checkWord = ( $check == 0 ? "SUCCESS" : "FAILURE" );
echo "try $key,\t keyword: \"$w\" expected: \"$wExpected\" result: \"$wResult\" check: $check ($checkWord),\n";
}
?>
PD9waHAgCiAgICBmdW5jdGlvbiBjb252ZXJ0KCRrZXl3b3JkKSB7CiAgICAgICAgJHdSZXN1bHQgPSBwcmVnX3JlcGxhY2UoCiAgICAgICAgICAgIGFycmF5KAogICAgICAgICAgICAgICAgJy8oXFxwe059KShcXHB7TH0pL3UnLAogICAgICAgICAgICAgICAgJy8oXFxwe0x9KShcXHB7Tn0pL3UnLAogICAgICAgICAgICAgICAgJy8oXFxwe0xsfSkoW1xccHtMdX1cXHB7THR9XSkvdScsCiAgICAgICAgICAgICAgICAnLyhcXHB7THV9ezIsfSkoXFxwe0xsfSkvdScsCiAgICAgICAgICAgICksCiAgICAgICAgICAgICckMSAkMicsCiAgICAgICAgICAgICRrZXl3b3JkCiAgICAgICAgKTsKICAgICAgIAogICAgICAgIHJldHVybiAkd1Jlc3VsdDsKICAgIH0KCiAkc2VhcmNoX2tleXdvcmQgPSBhcnJheSgKICAgICAgICAgICAgImNvbWVIRVJFdG9tb3Jyb3ciLAogICAgICAgICAgICAiS2lzc1lvdVRPREFZIiwKICAgICAgICAgICAgImNvbWXDnG5kZUhlcmUiLAogICAgICAgICAgICAiTkVWRVJTQVlJVCIsCiAgICAgICAgICAgICIyMDEzd2lsbENvbWUiLAogICAgICAgICAgICAiQmVmb3JlMjAxM2VuZHMiLAogICAgICAgICAgICAiSUtub3dUaGF0IiwKICAgICAgICAgICAgIiN3aGF0aWtub3ciCiAgICAgICAgKTsKICAgICAgICAkbmVlZF9rZXl3b3JkID0gYXJyYXkoCiAgICAgICAgICAgICJjb21lIEhFUkUgdG9tb3Jyb3ciLAogICAgICAgICAgICAiS2lzcyBZb3UgVE9EQVkiLAogICAgICAgICAgICAiY29tZSDDnG5kZSBIZXJlIiwKICAgICAgICAgICAgIk5FVkVSU0FZSVQiLAogICAgICAgICAgICAiMjAxMyB3aWxsIENvbWUiLAogICAgICAgICAgICAiQmVmb3JlIDIwMTMgZW5kcyIsCiAgICAgICAgICAgICJJIEtub3cgVGhhdCIsCiAgICAgICAgICAgICIjIHdoYXRpa25vdyIKICAgICAgICApOyAgICAgCgogICAgICAgIGZvcmVhY2ggKCRzZWFyY2hfa2V5d29yZCBhcyAka2V5ID0+ICR3KSB7CiAgICAgICAgICAgICR3RXhwZWN0ZWQgPSAkbmVlZF9rZXl3b3JkWyRrZXldOwoKICAgICAgICAgICAgJHdSZXN1bHQgPSBjb252ZXJ0KCR3KTsKCiAgICAgICAgICAgICRjaGVjayA9IHN0cmNtcCgkd0V4cGVjdGVkLCAkd1Jlc3VsdCk7CiAgICAgICAgICAgICRjaGVja1dvcmQgPSAoICRjaGVjayA9PSAwID8gIlNVQ0NFU1MiIDogIkZBSUxVUkUiICk7CgogICAgICAgICAgICBlY2hvICJ0cnkgJGtleSxcdCBrZXl3b3JkOiBcIiR3XCIgZXhwZWN0ZWQ6IFwiJHdFeHBlY3RlZFwiIHJlc3VsdDogXCIkd1Jlc3VsdFwiIGNoZWNrOiAkY2hlY2sgKCRjaGVja1dvcmQpLFxuIjsKICAgICAgICB9Cj8+
try 0, keyword: "comeHEREtomorrow" expected: "come HERE tomorrow" result: "come HERE tomorrow" check: 0 (SUCCESS),
try 1, keyword: "KissYouTODAY" expected: "Kiss You TODAY" result: "Kiss You TODAY" check: 0 (SUCCESS),
try 2, keyword: "comeÜndeHere" expected: "come Ünde Here" result: "come Ünde Here" check: 0 (SUCCESS),
try 3, keyword: "NEVERSAYIT" expected: "NEVERSAYIT" result: "NEVERSAYIT" check: 0 (SUCCESS),
try 4, keyword: "2013willCome" expected: "2013 will Come" result: "2013 will Come" check: 0 (SUCCESS),
try 5, keyword: "Before2013ends" expected: "Before 2013 ends" result: "Before 2013 ends" check: 0 (SUCCESS),
try 6, keyword: "IKnowThat" expected: "I Know That" result: "IK now That" check: -1 (FAILURE),
try 7, keyword: "#whatiknow" expected: "# whatiknow" result: "#whatiknow" check: -1 (FAILURE),