Sistema de Quotes #Post

Tunnecino

Hola!

Estoy haciendo el típico sistema de quotear el número del post o mensaje de la noticia o thread que estás viendo. Estoy haciendo pruebas y tal, y con un solo #Post me funciona perfectamente, pero no tengo claro como hacerlo para que vaya buscando.

Pongo un ejemplo para que se entienda mejor:

# Buscamos ahora etiquetas "#" para quotear
$array = explode("#", $string);
$array2 = explode(" ", $array[1]);
$string2 = $array2[0];
for ($i=0; $i<strlen($string2); $i++) {
	if (is_numeric($string2[$i])) {
		$string3.=$string2[$i];
	}
}

Eso solo me devuelve 1, pero si por ej el mensaje que estoy analizando tiene "BIBAH #1 y #1337" tan solo me saldría el primero. Como puedo enfocar el bucle para ir analizando uno a uno las concordancias.

Un saludo :D y gracias de antebraso

Tunnecino

Por ahora he conseguido separar todos los #numero, de esta forma:

$array3 = explode(" ", $string);

foreach($array3 as $bucle) {
	$bucle2 = explode("#", $bucle);
	foreach($bucle2 as $bucle3) {
		if (is_numeric($bucle3)) {
			$bucle4[] .= $bucle3;
		}
	}
}

foreach($bucle4 as $bucle5) {
	# Buscamos el post del quote
	ConexionDB();
	# Get Relacionadas
	$query = mysql_query('SELECT mensaje FROM noticias_comentarios WHERE idn = "'.$idn.'" AND idp = "'.$bucle5.'"');
	$check = mysql_num_rows($query);
	if($check == 0) {
		$cadena = '<a class="tooltip" href="#'.$bucle5.'" ref="El mensaje #'.$bucle5.' no existe"><strong>#'.$bucle5.'</strong></a>';
	}else{
		$fetch = mysql_fetch_array($query);
		$cadena = '<a class="tooltip" href="#'.$bucle5.'" ref="'.$fetch['mensaje'].'"><strong>#'.$bucle5.'</strong></a>';
	}
	# Volvemos a buscar el #
	$find = array('#'.$bucle5);
	$replace = array($cadena);
	$string = str_replace($find, $replace, $string);
}

Pero a la hora de hacer str_replace, si hay 2 y 25, el 25 no me lo cambia, solo el 25.

Tunnecino

Solucionado, si podéis cerrarlo :D

Usuarios habituales

  • Tunnecino