Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Por favor me ajudem,pois o codigo pega sempre a mesma coisa.
Quero fazer o codigo,tipo assim "www. or www.youtube or http" ,não os tres juntos
<form id="formulario" action="" method="post">
<tr>
<td height="100" colspan="2" align="center" valign="top"><textarea name="mensagem" id="mensagem" style="width:95%; height:60px;">Ola amigo, http://www.msn.com.br e te mando um video http://www.youtube.com/watch?v=JZGcRAfc-7E
</textarea>
<br />
<input type="submit" name="envia" id="envia" value="Enviar" /></td>
</tr>
</form>
<?php
if($_POST) {
$mensagem = $_POST[mensagem];
$oq = 'www.';
$oqa = 'www.youtube.com/watch?v=';
$oqb = 'http';
$pos = strpos($mensagem, $oq);
$posa = strpos($mensagem, $oqa);
$posb = strpos($mensagem, $oqb);
// Note o uso de ===. Simples == não funcionaria como esperado
// por causa da posição de 'a' é 0 (primeiro) caractere.
if ($pos === false) {
echo "A string '$oq' não foi encontrada na string '$mensagem'<br />"; echo "A string '$oq' foi encontrada na string '$mensagem'";
echo " e existe na posição $pos<br />";
}
if ($posa === false) {
echo "A string '$oqa' não foi encontrada na string '$mensagem'<br />"; echo "A string '$oqa' foi encontrada na string '$mensagem'";
echo " e existe na posição $pos<br />";
}
if ($posb === false) {
echo "A string '$oqb' não foi encontrada na string '$mensagem'<br />"; echo "A string '$oqb' foi encontrada na string '$mensagem'";
echo " e existe na posição $pos<br />";
}
//fechando se for envio de post
}
?>
veje bem minha string todo iram dar o mesmo resultado "posição 18"
com seu if ficar a mesma coisa
Quero fazer o codigo,tipo assim "www. or www.youtube or http" ,não os tres juntos
você pode usar uma expressão regular para isso.
A rigor, você quer validar se a URL é válida ?
http://www.youtube é válido. você não quer aceitar isso ? pq ?
Conseguiu,mas quando executo ele da erro no for($mensagem[$pos] = $mensagem[$pos];$mensagem[$pos] != ' ';$pos++);
$mensagem = $_POST[mensagem];
$oq = 'http://www.';
$pos = strpos($mensagem, $oq);
$nummensagem = strlen($mensagem);
$nummensagem--;
// Note o uso de ===. Simples == não funcionaria como esperado
// por causa da posição de 'a' é 0 (primeiro) caractere.
if ($pos === false) {
$mensagemfinal = $mensagem;$iniciopos = $pos;
//for($mensagem[$pos] = $mensagem[$pos];$mensagem[$pos] != ' ';$pos++);
/**** pegar antes do link *****/
for($flink1 = '0';$flink1 != $iniciopos; $flink1++) {
if($mensagemfinal == '') {
$mensagemfinal = $mensagem[$flink1];
} else {
$mensagemfinal = $mensagemfinal.$mensagem[$flink1];
}
}for($flink2 = $flink1;$flink2 != $pos; $flink2++) {
if($linkfinal == '') {
$linkfinal = $mensagem[$flink2];
} else {
$linkfinal = $linkfinal.$mensagem[$flink2];
}
}for($flink3 = $pos;$flink3 != $nummensagem; $flink3++) {
if($depoisfinal == '') {
$depoisfinal = $mensagem[$flink3];
} else {
$depoisfinal = $depoisfinal.$mensagem[$flink3];
}
}
$mensagemfinal = $mensagemfinal.'<a href="'.$linkfinal.'">'.$linkfinal.'</a>'.$depoisfinal;
Voce não pode fazer direo o IF???
if(strpos($mensagem, $oq)){ //ok }else { // nao encontrou }