Salut, voilà mon problème:
Je parse une chaine comprenant des balises telles que La fonction qui effectue les regex:
string toParse = textBox1.Text;
string parse_gras = null;
string parse_italique = null;
string parse_link = null;
string parse_img = null;
string parse_img2 = null;
Regex reg_gras = new Regex(@"(?<left>\{{)(?<name>[^}]+)(?<right>\}})");
Regex reg_italique = new Regex(@"(?<left>\{)(?<name>[^}]+)(?<right>\})");
//ne pas oublier de remtttre-> en ->
Regex reg_link = new Regex(@"(?<left>\[)(?<name>[^[]+)(?->)(?<link>[^]]+)(?<right>\])");
//images
Regex reg_img = new Regex(@"(?<left>\[^""]+)");
//gras italique
parse_gras = reg_gras.Replace(toParse, " $2 ");
parse_italique = reg_italique.Replace(parse_gras, " $2 ");
//liens
parse_link = reg_link.Replace(parse_italique, "$2");
//images
parse_img = reg_img.Replace(parse_link, "");
Match m = reg_img.Match(toParse);
Group g = m.Groups[2];
if (g.ToString() != "")
{
parse_img2 = reg_img2.Replace(parse_img, "Et celle qui retourne le chemin de l'image:
public string chemin_image_spip(int id)
{
string chemin_image_spip = "";
MySqlConnection connection = new MySqlConnection(MyConString);
MySqlCommand command = connection.CreateCommand();
MySqlDataReader Reader;
command.CommandText = "select fichier FROM spip_documents WHERE id_document=" + id + "";
connection.Open();
Reader = command.ExecuteReader();
while (Reader.Read())
{
chemin_image_spip = Reader.GetValue(0).ToString();
}
if (chemin_image_spip != null)
{
return chemin_image_spip.Substring(8, chemin_image_spip.Length - 8);
}
else
{
return "";
}
}
J'avoue que je suis perdu...je ne vois pas comment faire pour avoir les chemins de toutes mes images...si j'ai une chaîne de ce type:
Machaine ressemble à et aussi à ça
Merci à tout le monde !
Coding is not a crime!
Afficher la suite