<?php
$s = microtime(true);
$c = 0;
$str = "hogehoge";
for ($i = 0; $i < 100000; $i++) {
if (strpos($str, "mogemoge") || strpos($str, "hugahuga") || strpos($str, "hogehoge")) {
$c++;
}
/**
*preg_matchの場合
*
*/
// if (preg_match("/(mogemoge|hugahuga|hogehoge)/", $str)) {
// $c++;
// }
}
echo microtime(true) - $s . "\n";
echo $c;

意図的にhogehogeを最後に持ってきてるベンチだから
最初のstrposにhogehogeが入ってればstrposが早いのは当然
ただ平均的に考えた場合preg_matchのほうが上